﻿///////////////////////////////////////////////////////////////////////////////
// 文件名： RenderLoader.hpp
// 作者：   671643387@qq.com
// 日期：   2015年11月2日 下午7:28:49
// 简介：   
///////////////////////////////////////////////////////////////////////////////

#if !defined(GRAPHICS_GRAPHICS_RENDERLOADER_HPP_)
#define GRAPHICS_GRAPHICS_RENDERLOADER_HPP_

#if defined(_MSC_VER) && (_MSC_VER >= 1200)
# pragma once
#endif

#include <boost/noncopyable.hpp>
#include <graphics/Type.hpp>
#include <graphics/LibraryLoader.hpp>
#include <graphics/graphics/render/Render.hpp>

namespace graphics
{
    class RenderLoader : public boost::noncopyable
    {
    public:
        RenderLoader(::graphics::string filename);
        ~RenderLoader(void);

        ::graphics::graphics::render::RenderPtr CreateRender(void);

    private:
        typedef ::graphics::graphics::render::RenderPtr (__stdcall *CREATOR)();

    private:
        ::graphics::LibraryLoader loader_;
    };
}

#endif //GRAPHICS_GRAPHICS_RENDERLOADER_HPP_
